'use strict'
const path = require('path')
const webpack = require('webpack')

function resolve(dir) {
    return path.join(__dirname, dir)
}

const LodashModuleReplacementPlugin = require('lodash-webpack-plugin')
const isProd = process.env.NODE_ENV === 'production'
module.exports = {
    publicPath: isProd ? '/render/' : '/',
    transpileDependencies: [
        'indent-string',
        'vuedraggable'
    ],
    // 是否开启eslint保存检测，有效值：true | false | 'error'
    lintOnSave: isProd ? false : 'error',
    // 如果你不需要生产环境的 source map，可以将其设置为 false 以加速生产环境构建。
    productionSourceMap: false,
    configureWebpack: {
        devtool: isProd ? false : 'source-map',
        entry: path.resolve(__dirname, './example/main.js'),
        resolve: {
            alias: {}
        },
        plugins: isProd ? [new LodashModuleReplacementPlugin(), new webpack.ContextReplacementPlugin(/moment[/\\]locale$/, /zh-cn/)] : [],
    },
    chainWebpack(config) {
        config.when(!isProd, config => {
            // eslint
            config.module
                .rule('eslint')
                .test(/\.(js|vue)$/)
                .include.add(resolve('src'))
                .end()
                .use('eslint-loader')
                .loader('eslint-loader')
                .tap(options => {
                    options.fix = true
                    return options
                })
                .end()
        })
    },
    css: {
        extract: false
    }
}
